package com.pgytesting.secondhandcar.service;

import com.pgytesting.secondhandcar.model.OrderName;
import com.pgytesting.secondhandcar.model.ReviewInformation;
import com.pgytesting.secondhandcar.vo.ResponseMessage;

import java.util.List;
import java.util.Map;

/**
 * 审核信息(ReviewInformation)表服务接口
 *
 * @author makejava
 * @since 2019-08-12 18:55:58
 */
public interface ReviewInformationService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    ReviewInformation queryById(String id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<ReviewInformation> queryAllByLimit(int offset, int limit);
    
    /**
     * 条件查询多条数据
     *
     * @param reviewInformation 实例对象
     * @return 对象列表
     */
    List<ReviewInformation> queryAll(ReviewInformation reviewInformation);

    /**
     * 新增数据
     *
     * @param reviewInformation 实例对象
     * @return 实例对象
     */
    ReviewInformation insert(ReviewInformation reviewInformation);

    /**
     * 修改数据
     *
     * @param reviewInformation 实例对象
     * @return 实例对象
     */
    ReviewInformation update(ReviewInformation reviewInformation);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(String id);
    
    /**
     * 风控初审
     *
     * @param 
     * @return 
     */
    ResponseMessage riskControlPreliminaryExamination(String id,Integer status,Integer state);
    
    /**
     * 风控终审
     *
     * @param 
     * @return 
     */
    ResponseMessage riskControlFinalJudgment(String id,Integer status,Integer state);
    
    /**
     * 运营商审核合同
     *
     * @param 
     * @return 
     */
    ResponseMessage operatorsExamineContract(String id,Integer status,Integer state);
    
    /**
     * 运营商复审合同
     *
     * @param 
     * @return 
     */
    ResponseMessage operatorsReviewContract(String id,Integer status,Integer state);
    
    /**
     * 运营商审核放款材料
     *
     * @param 
     * @return 
     */
    ResponseMessage operatorsExamineLoanMaterial(String id,Integer status,Integer state);
    
    /**
     * 运营商复审放款材料
     *
     * @param 
     * @return 
     */
    ResponseMessage operatorsReviewLoanMaterial(String id,Integer status,Integer state);
    
    /**
     * 资方审核放款材料
     *
     * @param 
     * @return 
     */
    ResponseMessage managementExamineLoanMaterial(String id,Integer status,Integer state);
    
    /**
     * 查询待审核的合同列表
     * @param orderName
     * @return
     */
    List<Map<String,Object>> queryExamineContract();
    
    /**
     * 查询待审核的放款材料列表
     * @param orderName
     * @return
     */
    List<Map<String,Object>> queryExamineLoanMaterial();
    
}